home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 1 Issue 2 / PDCD-1 - Issue 02.iso / _utilities / utilities / 003 / _gs / !GS / gsf / HRGK_S < prev    next >
Text File  |  1991-06-13  |  7KB  |  217 lines

  1. %!
  2. % Common definitions for the Hershey fonts.
  3.  
  4. /MakeHersheyFont where
  5.  { pop 80 string
  6.     { currentfile 1 index readline pop
  7.        (%END) eq { exit } if
  8.     } loop pop
  9.  } if
  10.  
  11. userdict begin
  12. /HersheyBuildDict 10 dict def
  13.  
  14. /BuildHersheyChar {
  15.     exch begin
  16.         PenWidth setlinewidth
  17.         Encoding exch get
  18.         dup CharData exch known not { pop /.notdef } if
  19.         CharData exch get
  20.     end
  21.     /cd exch def
  22.  
  23.     /llx 99 def /lly 99 def /urx -99 def /ury -99 def
  24.     true
  25.  
  26.     cd 2 get {
  27.         exch {
  28.             dup 32 eq {
  29.                 pop true
  30.             } {
  31.                 82 sub cd 0 get sub
  32.  
  33.                 dup llx lt {
  34.                     dup /llx exch def
  35.                 } if
  36.                 dup urx gt {
  37.                     dup /urx exch def
  38.                 } if
  39.                 pop false
  40.             } ifelse
  41.         } {
  42.             neg 91 add
  43.  
  44.             dup lly lt {
  45.                 dup /lly exch def
  46.             } if
  47.             dup ury gt {
  48.                 dup /ury exch def
  49.             } if
  50.             pop true
  51.         } ifelse
  52.     } forall pop
  53.  
  54.     cd 1 get cd 0 get sub 0 llx 1 sub lly 1 sub urx 1 add ury 1 add
  55.     setcachedevice
  56.  
  57.     /domove true def
  58.     true
  59.  
  60.     cd 2 get {
  61.         exch {
  62.             dup 32 eq {
  63.                 pop true
  64.                 /domove true def
  65.             } {
  66.                 82 sub cd 0 get sub
  67.                 false
  68.             } ifelse
  69.         } {
  70.             neg 91 add
  71.             domove {
  72.                 moveto
  73.                 /domove false def
  74.             } {
  75.                 lineto
  76.             } ifelse
  77.             true
  78.         } ifelse
  79.     } forall pop
  80.  
  81.     1 setmiterlimit 1 setlinejoin 1 setlinecap
  82.     stroke
  83. } bind def
  84.  
  85. /MakeHersheyFont {
  86.     10 dict dup begin
  87.     exch /ItalicAngle exch def
  88.     exch /PenWidth exch def
  89.     exch /FontName exch def
  90.     exch /CharData exch def
  91.  
  92.     /FontType 3 def
  93.     /FontMatrix 
  94.         [1 33 div
  95.         0
  96.         ItalicAngle neg dup sin exch cos div 33 div
  97.         1 33 div
  98.         0 0] def
  99.     /Encoding StandardEncoding def
  100.     /BuildChar {HersheyBuildDict begin BuildHersheyChar end} def
  101.     /FontBBox [-10 -10 30 30] def
  102.  
  103.     FontName end exch definefont
  104. } bind def
  105. end        % userdict
  106. %END
  107.  
  108. 150 dict dup begin
  109. /A [-10 11 (RFJ[ RFZ[ MTWT)] def
  110. /B [-10 10 (KFK[ KFTFWGXHYJYLXNWOTP KPTPWQXRYTYWXYWZT[K[)] def
  111. /C [-10 8 (LFL[ LFXF)] def
  112. /D [-10 11 (RFJ[ RFZ[ J[Z[)] def
  113. /E [-10 10 (LFL[ LFYF LPTP L[Y[)] def
  114. /F [-10 10 (YFK[ KFYF K[Y[)] def
  115. /G [-11 11 (KFK[ YFY[ KPYP)] def
  116. /H [-11 11 (PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF OPUP)] def
  117. /I [-4 4 (RFR[)] def
  118. /J [-11 10 (KFK[ YFKT POY[)] def
  119. /K [-10 11 (RFJ[ RFZ[)] def
  120. /L [-12 12 (JFJ[ JFR[ ZFR[ ZFZ[)] def
  121. /M [-11 11 (KFK[ KFY[ YFY[)] def
  122. /N [-9 9 (KFYF OPUP K[Y[)] def
  123. /O [-11 11 (PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF)] def
  124. /P [-11 11 (KFK[ YFY[ KFYF)] def
  125. /Q [-11 10 (KFK[ KFTFWGXHYJYMXOWPTQKQ)] def
  126. /R [-10 10 (KFRPK[ KFYF K[Y[)] def
  127. /S [-10 10 (RFR[ KFYF)] def
  128. /T [-10 10 (KKKILGMFOFPGQIRMR[ YKYIXGWFUFTGSIRM)] def
  129. /U [-10 10 (RFR[ PKMLLMKOKRLTMUPVTVWUXTYRYOXMWLTKPK)] def
  130. /V [-10 10 (KFY[ K[YF)] def
  131. /W [-12 12 (RFR[ ILJLKMLQMSNTQUSUVTWSXQYMZL[L)] def
  132. /X [-10 10 (K[O[LTKPKLLINGQFSFVGXIYLYPXTU[Y[)] def
  133. /a [-10 11 (QMONMPLRKUKXLZN[P[RZUWWTYPZM QMSMTNUPWXXZY[Z[)] def
  134. /b [-9 10 (UFSGQIOMNPMTLZKb UFWFYHYKXMWNUORO ROTPVRWTWWVYUZS[Q[OZNYMV)] def
  135. /c [-10 10 (JPLNNMOMQNROSRSVR[ ZMYPXRR[P_Ob)] def
  136. /d [-9 9 (TMQMONMPLSLVMYNZP[R[TZVXWUWRVOTMRKQIQGRFTFVGXI)] def
  137. /e [-8 8 (WOVNTMQMONOPPRSS SSOTMVMXNZP[S[UZWX)] def
  138. /f [-8 8 (TFRGQHQIRJUKXK XKTMQONRMUMWNYP[S]T_TaSbQbP`)] def
  139. /g [-10 10 (IQJOLMNMONOPNTL[ NTPPRNTMVMXOXRWWTb)] def
  140. /h [-12 11 (HQIOKMMMNNNPMUMXNZO[Q[SZUWVUWRXMXJWGUFSFRHRJSMUPWRZT)] def
  141. /i [-7 5 (RMPTOXOZP[R[TYUW)] def
  142. /j [-10 9 (OMK[ YNXMWMUNQROSNS NSPTQUSZT[U[VZ)] def
  143. /k [-10 8 (KFMFOGPHX[ RML[)] def
  144. /l [-12 11 (OMIb NQMVMYO[Q[SZUXWT YMWTVXVZW[Y[[Y\\W)] def
  145. /m [-10 9 (LMOMNSMXL[ YMXPWRUURXOZL[)] def
  146. /n [-8 8 (TFRGQHQIRJUKXK UKRLPMOOOQQSTTVT TTPUNVMXMZO\\S^T_TaRbPb)] def
  147. /o [-8 10 (RMPNNPMSMVNYOZQ[S[UZWXXUXRWOVNTMRM)] def
  148. /p [-11 11 (PML[ UMVSWXX[ IPKNNM[M)] def
  149. /q [-10 9 (MSMVNYOZQ[S[UZWXXUXRWOVNTMRMPNNPMSIb)] def
  150. /r [-9 11 ([MQMONMPLSLVMYNZP[R[TZVXWUWRVOUNSM)] def
  151. /s [-11 10 (SMP[ JPLNOMZM)] def
  152. /t [-11 10 (IQJOLMNMONOPMVMYO[Q[TZVXXTYPYM)] def
  153. /u [-11 11 (ONMOKQJTJWKYLZN[Q[TZWXYUZRZOXMVMTORSPXMb)] def
  154. /v [-10 10 (KMMMOOU`WbYb ZMYOWRM]K`Jb)] def
  155. /w [-14 12 (VFNb GQHOJMLMMNMPLULXMZO[Q[TZVXXUZP[M)] def
  156. /x [-12 11 (NMLNJQITIWJZK[M[OZQW RSQWRZS[U[WZYWZTZQYNXM)] def
  157. /space [-8 8 ()] def
  158. /Y [-8 8 ()] def
  159. /Z [-8 8 ()] def
  160. /y [-8 8 ()] def
  161. /z [-8 8 ()] def
  162. /zero [-10 10 (QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF)] def
  163. /one [-10 10 (NJPISFS[)] def
  164. /two [-10 10 (LKLJMHNGPFTFVGWHXJXLWNUQK[Y[)] def
  165. /three [-10 10 (MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW)] def
  166. /four [-10 10 (UFKTZT UFU[)] def
  167. /five [-10 10 (WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW)] def
  168. /six [-10 10 (XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT)] def
  169. /seven [-10 10 (YFO[ KFYF)] def
  170. /eight [-10 10 (PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF)] def
  171. /nine [-10 10 (XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX)] def
  172. /period [-5 5 (RYQZR[SZRY)] def
  173. /comma [-5 5 (SZR[QZRYSZS\\R^Q_)] def
  174. /colon [-5 5 (RMQNROSNRM RYQZR[SZRY)] def
  175. /semicolon [-5 5 (RMQNROSNRM SZR[QZRYSZS\\R^Q_)] def
  176. /exclam [-5 5 (RFRT RYQZR[SZRY)] def
  177. /question [-9 9 (LKLJMHNGPFTFVGWHXJXLWNVORQRT RYQZR[SZRY)] def
  178. /quotedbl [-8 8 (NFNM VFVM)] def
  179. /ring [-7 7 (QFOGNINKOMQNSNUMVKVIUGSFQF)] def
  180. /dollar [-10 10 (PBP_ TBT_ YIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX)] def
  181. /slash [-11 11 ([BIb)] def
  182. /fraction [-11 11 ([BIb)] def
  183. /parenleft [-7 5 (VBTDRGPKOPOTPYR]T`Vb)] def
  184. /parenright [-5 7 (NBPDRGTKUPUTTYR]P`Nb)] def
  185. /bar [-4 4 (RBRb)] def
  186. /hyphen [-13 13 (IR[R)] def
  187. /plus [-13 13 (RIR[ IR[R)] def
  188. /equal [-13 13 (IO[O IU[U)] def
  189. /periodcentered [-5 5 (RQQRRSSRRQ)] def
  190. /quoteleft [-5 5 (SFRGQIQKRLSKRJ)] def
  191. /quoteright [-5 5 (RHQGRFSGSIRKQL)] def
  192. /numbersign [-10 11 (SBLb YBRb LOZO KUYU)] def
  193. /ampersand [-13 13 (\\O\\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[[[\\Z\\Y)] def
  194. /currency [-11 11 (IIJKKOKUJYI[ [IZKYOYUZY[[ IIKJOKUKYJ[I I[KZOYUYYZ[[)] def
  195. /breve [-2 1 (SRRSQSPRPQQPRPSQSSRUQV QQQRRRRQQQ)] def
  196. /bullet [-2 2 (QPPQPSQTSTTSTQSPQP RQQRRSSRRQ)] def
  197. /backslash [-7 7 (KFY^)] def
  198. /underscore [-8 8 (J]Z])] def
  199. /tilde [-8 8 (LTLRMPOPUSWSXR LRMQOQUTWTXRXP)] def
  200. /asterisk [-8 8 (RFRR MIWO WIMO)] def
  201. /bracketleft [-7 7 (OBOb PBPb OBVB ObVb)] def
  202. /bracketright [-7 7 (TBTb UBUb NBUB NbUb)] def
  203. /braceleft [-7 7 (TBRCQDPFPHQJRKSMSOQQ RCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra QSSUSWRYQZP\\P^Q`RaTb)] def
  204. /braceright [-7 7 (PBRCSDTFTHSJRKQMQOSQ RCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra SSQUQWRYSZT\\T^S`RaPb)] def
  205. /less [-12 12 (ZIJRZ[)] def
  206. /greater [-12 12 (JIZRJ[)] def
  207. /asciitilde [-12 12 (IUISJPLONOPPTSVTXTZS[Q ISJQLPNPPQTTVUXUZT[Q[O)] def
  208. /quotesingle [-5 5 (RHQGRFSGSIRKQL)] def
  209. /asciicircum [-8 8 (PLRITL MORJWO RJR[)] def
  210. /percent [-12 12 ([FI[ NFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F WTUUTWTYV[X[ZZ[X[VYTWT)] def
  211. /at [-13 14 (WNVLTKQKOLNMMPMSNUPVSVUUVS QKOMNPNSOUPV WKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX XKWSWUXV)] def
  212. /section [-8 8 (UITJUKVJVIUGSFQFOGNINKOMQOVR OMTPVRWTWVVXTZ PNNPMRMTNVPXU[ NVSYU[V]V_UaSbQbOaN_N^O]P^O_)] def
  213. /dagger [-8 8 (RFQHRJSHRF RFRb RQQTRbSTRQ LMNNPMNLLM LMXM TMVNXMVLTM)] def
  214. /daggerdbl [-8 8 (RFQHRJSHRF RFRT RPQRSVRXQVSRRP RTRb R^Q`RbS`R^ LMNNPMNLLM LMXM TMVNXMVLTM L[N\\P[NZL[ L[X[ T[V\\X[VZT[)] def
  215. /.notdef [ 0 0 () ] def        % not defined
  216. end /Hershey-Greek-Simplex 0.6 0 MakeHersheyFont
  217.